<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    
  </style>
</head>
<body>
  
</body>
<script>

  // 1. 使用递归计算：偶数：1/2+1/4+1/6+...+1/n，奇数：1+1/3+1/5+...+1/n
  // 偶数：1/2+1/4+1/6+...+1/n

  // 公式
  // fn(n) = 1/n + fn(n-2)

  // fn(6) = 1/6 + fn(4)
  // fn(4) = 1/4 + fn(2)

  // 递的终点，归的起点
  // fn(2) = 1/2

  // 奇数：1+1/3+1/5+...+1/n

  // 公式
  // fn(n) = 1/n + fn(n-2)
  // 递的终点，归的起点
  // fn(1) = 1/1


  function fn(n){
    if(n === 1){
      return 1;
    }
    if(n === 2){
      return 1/2;
    }
    return 1/n + fn(n-2);
  }

  console.log( fn(5) );
  
  console.log("=======");

  console.log( fn(6) );

  console.log("=======")

  // 2. 封装 已知两个，个位数，计算两个个位数之间的所有整数，能组成的奇数的函数
  //   ○ 如：2，6
  //   ○ 打印出：23，33，43，53，63，25，35，45，55，65

  function fn(m, n){
    // 根据内部功能决定，保证m为小的数字，n为大的数字
    if(m > n){
      var x = m;
      m = n;
      n = x;
    }
    // 取出m到n之间的所有整数
    for(var i=m; i<=n; i++){
      // 取出m到n之间的所有整数
      for(var j=m; j<=n; j++){
        // 组合之后，和2取余，为1是奇数，1可以转成true
        if( ("" + i + j) % 2 ){
          // 打印
          console.log( "" + i + j );
        }
      }
    }
  }

  fn( 2, 6 );
  console.log("=====");
  fn( 6, 2 );

</script>
</html>